home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / ftp_rhosts.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  86 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(11566);
  10.  script_version ("$Revision: 1.3 $");
  11.  name["english"] = ".rhosts in FTP root";
  12.  script_name(english:name["english"]);
  13.  
  14.  desc["english"] = "
  15. This script determines if the remote anonymous FTP
  16. server has a .rhosts file set.
  17.  
  18. Risk factor : Low";
  19.  
  20.  
  21.  script_description(english:desc["english"]);
  22.  
  23.  summary["english"] = "downloads the remote .rhosts file";
  24.  
  25.  script_summary(english:summary["english"]);
  26.  script_category(ACT_GATHER_INFO);
  27.  
  28.  
  29.  script_copyright(english:"This script is Copyright (C) 2003 Renaud Deraison");
  30.  family["english"] = "FTP";
  31.  script_family(english:family["english"]);
  32.  script_dependencie("find_service.nes", "ftp_anonymous.nasl");
  33.  script_require_ports("Services/ftp", 21);
  34.  exit(0);
  35. }
  36.  
  37. #
  38. # The script code starts here
  39. #
  40. include("ftp_func.inc");
  41.  
  42. port = get_kb_item("Services/ftp");
  43. if(!port)port = 21;
  44.  
  45. if(get_port_state(port))
  46. {
  47. login = "anonymous";
  48. password = "nessus@nessus.org";
  49.  
  50.  
  51. if(login)
  52. {
  53.  soc = open_sock_tcp(port);
  54.  if(!soc)exit(0);
  55.  if(ftp_log_in(socket:soc, user:login,pass:password))
  56.  {
  57.   data = string("CWD /\r\n");
  58.   send(socket:soc, data:data);
  59.   a = recv_line(socket:soc, length:1024);
  60.   pasv = ftp_get_pasv_port(socket:soc); 
  61.   soc2 = open_sock_tcp(pasv);
  62.   data = string("RETR .rhosts\r\n");
  63.   send(socket:soc, data:data);
  64.   r = ftp_recv_line(socket:soc);
  65.   if(egrep(pattern:"^(150|425) ", string:r))
  66.   {
  67.    r = ftp_recv_data(socket:soc2, line:r);
  68.    close(soc2);
  69.    ftp_close(socket:soc);
  70. report = "
  71. The remote anonymous FTP server has a .rhosts file
  72. set in its home. An attacker may use it to determine 
  73. the trust relationships between this server and other
  74. hosts on the network.
  75.  
  76. The .rhost file contains : " + '\n' + r + "
  77.  
  78. Solution : Delete the .rhosts file from ~ftp/ on this host
  79. Risk factor : Low";
  80.    security_warning(port:port, data:report);
  81.   }
  82.  }
  83.  close(soc);
  84. }
  85. }
  86.